package cn.ycl.system.other.study.designMode.combination;

import java.util.ArrayList;
import java.util.List;

/**
 * @author YuanChangLiang
 * @description
 * @date created in 10:38 2021/7/22
 */


public abstract class Subject {
    /**
     * 观察者们的注册信息
     */
    protected List<Observer> observers = new ArrayList<>();

    /**
     * 增加观察者
     */
    public void attach(Observer observer)
    {
        observers.add(observer);
    }

    /**
     * 移除观察者
     */
    public void remove(Observer observer)
    {
        observers.remove(observer);
    }

    /**
     * 通知观察者
     */
    public abstract void inform ();
}
